package com.ruoyi.business.service;

import com.ruoyi.business.domain.BusContract;
import com.ruoyi.business.domain.BusContractDetail;
import com.ruoyi.common.core.domain.AjaxResult;

import java.util.List;

/**
 * 合同Service接口
 * 
 * @author ruoyi
 * @date 2021-09-02
 */
public interface IBusContractService 
{
    /**
     * 查询合同
     * 
     * @param contractId 合同主键
     * @return 合同
     */
    public BusContract selectBusContractByContractId(Long contractId);

    /**
     * 查询合同列表
     * 
     * @param busContract 合同
     * @return 合同集合
     */
    public List<BusContract> selectBusContractList(BusContract busContract);

    /**
     * 新增合同
     * 
     * @param busContract 合同
     * @return 结果
     */
    public int insertBusContract(BusContract busContract);

    /**
     * 修改合同
     * 
     * @param busContract 合同
     * @return 结果
     */
    public int updateBusContract(BusContract busContract);

    /**
     * 批量删除合同
     * 
     * @param contractIds 需要删除的合同主键集合
     * @return 结果
     */
    public int deleteBusContractByContractIds(Long[] contractIds);

    /**
     * 删除合同信息
     * 
     * @param contractId 合同主键
     * @return 结果
     */
    public int deleteBusContractByContractId(Long contractId);

    /**
     * 检查合同编号是否重复
     * @param busContract
     * @return
     */
    public boolean checkContractExists(BusContract busContract);

    public BusContractDetail getContractDetail(Long contractId);

    public List<BusContractDetail> getContractListDetail(BusContract busContract);

    public List<BusContract> getRemindContractList();

//    public List<BusExportCustomer> getExportCustomerList();
//    public List<BusExportContract> getExportContractList();

    public AjaxResult exportContractInfo(Long customerId);
}
